# -*- coding: utf-8 -*-

'''
Copyright (C) 2011 Daniele Simonetti

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
'''

### PySide ###
from PySide import QtCore, QtGui

class WlItemDelegate(QtGui.QStyledItemDelegate):
    def __init__(self, parent=None):
        super(WlItemDelegate, self).__init__(parent)
   
    def createEditor(self, parent, option, index):
        cb = QtGui.QComboBox(parent)
        cb.setStyleSheet('QComboBox { margin: 1px; }')
        return cb
    
    def setEditorData(self, editor, index):
        model = index.model()
        item = model.items[index.row()]
        for ep in item['eps']:
            try:
                editor.addItem(unicode(ep), ep)       
            except Exception as e:
                print e
        editor.setCurrentIndex(item['lastep'])
    
    def setModelData(self, editor, model, index):
        lastep = editor.currentIndex()                 
        model.items[index.row()]['lastep'] = lastep
        item = model.items[index.row()] 
        model.updateStatus(item['showid'])
    
    def commitAndCloseEditor(self):
        pass
        
    
     
